package com.selftool.gui.serverframe;

import com.selftool.base.NCButton;
import com.selftool.base.NCFrame;
import com.selftool.bo.DosBO;
import com.selftool.log.Logger;
import com.selftool.util.CommonUtil;

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/** add by CYQ 2023年7月19日 NC自助GUI工具 */
public class MainFrom extends NCFrame {
    private JPanel main;
    private NCButton SysConfigButton;
    private NCButton ReStartButton;
    private JTextArea textArea;
    private NCButton ClearButton;
    private NCButton InitButton;
    private JTextField DosField;
    private NCButton UpdatesButton;
    private JPanel ServerButton;
    private JScrollPane dos;
    private String homepath = null;

    public MainFrom getMainFrom(){
        return this;
    }
    public JPanel getMain(){
        return main;
    }
    public MainFrom (){
        //关联日志
        Logger.setBean(textArea);
        init();
        /***
         * Dos指令执行监听
         */
        DosField.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                try {
                    String command = e.getActionCommand();
                    DosField.setText("");
                    Logger.write("DosField:"+command);
                    new DosBO().exec(command);
                } catch (Exception ex) {
                    Logger.write("动作处理异常,"+ex.getMessage());
                }
            }
        });
    }
    private void init(){
        try {
            homepath = CommonUtil.getParameter("homepath");
        } catch (Exception e) {
            Logger.write("初始化服务发生异常"+e.getMessage());
        }
        if(homepath!=null){
            Logger.write("当前关联home为："+homepath+"欢迎您的使用！");
        }else{
            Logger.write("当前您未进行工具初始化，请点击初始化配置按钮并选择home！");
        }
    }

//    private void initTable() {
//        Object[] titles = {"补丁组", "补丁名称", "安装时间", "备注"};
//
//        //创建二维数组，存储数据
//        Object[][] data = {
//                {"SIP合并补丁", "问题修复01", "2023-08-14 17:50:20", ""},
//                {"SIP合并补丁", "问题修复02", "2023-08-14 17:50:21", ""},
//                {"SIP合并补丁", "问题修复03", "2023-08-14 17:50:22", ""}};
//
//
//        titlesV = new Vector();
//        dataV = new Vector();
//        for (int i = 0; i < titles.length; i++) {
//            titlesV.add(titles[i]);
//        }
//
//        for (int i = 0; i < data.length; i++) {
//            Vector t = new Vector<>();
//            for (int j = 0; j < data[i].length; j++) {
//                t.add(data[i][j]);
//            }
//            dataV.add(t);
//        }
//        MyTableModel myTableModel = new MyTableModel();
//        patchlist.setModel(myTableModel);
//        patchlist.setFillsViewportHeight(true);
//    }
//
//
//    private Vector titlesV = new Vector();//存储标题
//    private Vector<Vector> dataV = new Vector<>();//存储数据
//    private class MyTableModel extends AbstractTableModel {
//
//        @Override
//        public int getRowCount() {
//            return dataV.size();
//        }
//
//        @Override
//        public int getColumnCount() {
//            return titlesV.size();
//        }
//
//        @Override
//        public Object getValueAt(int rowIndex, int columnIndex) {
//            return dataV.get(rowIndex).get(columnIndex);
//        }
//
//        @Override
//        public String getColumnName(int column) {
//            return (String) titlesV.get(column);
//        }
//
//        @Override
//        public boolean isCellEditable(int rowIndex, int columnIndex) {
//            return false;
//        }
//    }

//    public void init() {
//        JFrame frame = new JFrame("test");
//        int INIT_W = 800;  //窗体初始宽度
//        int INIT_H = 600;  //窗体初始高度
//
////        JFrame frame = new JFrame("NCC自助工具");
//
//        //窗口居中显示
//        Point p = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint();
//        frame.setBounds(p.x - INIT_W / 2, p.y - INIT_H / 2, INIT_W, INIT_H);
//        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//
//        frame.setContentPane(this.main);
//        frame.setSize(INIT_W,INIT_H);
////        frame.pack();
////        frame.setVisible(true);
//
////        Server.setVisible(true);
////        Dev.setVisible(false);
//
//        try {
//            homepath = CommonUtil.getParameter("homepath");
//        } catch (Exception e) {
//            Logger.write("初始化服务发生异常"+e.getMessage());
//        }
//        if(homepath!=null){
//            Logger.write("当前关联home为："+homepath+"欢迎您的使用！");
//        }else{
//            Logger.write("当前您未进行工具初始化，请点击初始化配置按钮并选择home！");
//        }
//    }
}
